<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>The GdkPixbuf Structure</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
<link rel="home" href="index.html" title="GDK-PixBuf参考手册">
<link rel="up" href="rn01.html" title="API 参考">
<link rel="prev" href="gdk-pixbuf-Versioning.html" title="Initialization and Versions">
<link rel="next" href="gdk-pixbuf-Reference-Counting-and-Memory-Mangement.html" title="Reference Counting and Memory Mangement">
<meta name="generator" content="GTK-Doc V1.17 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="gdk-pixbuf-Versioning.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="rn01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GDK-PixBuf参考手册</th>
<td><a accesskey="n" href="gdk-pixbuf-Reference-Counting-and-Memory-Mangement.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#gdk-pixbuf-The-GdkPixbuf-Structure.synopsis" class="shortcut">Top</a>
                   | 
                  <a href="#gdk-pixbuf-The-GdkPixbuf-Structure.description" class="shortcut">Description</a>
                   | 
                  <a href="#gdk-pixbuf-The-GdkPixbuf-Structure.object-hierarchy" class="shortcut">Object Hierarchy</a>
                   | 
                  <a href="#gdk-pixbuf-The-GdkPixbuf-Structure.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
                   | 
                  <a href="#gdk-pixbuf-The-GdkPixbuf-Structure.properties" class="shortcut">Properties</a>
</td></tr>
</table>
<div class="refentry">
<a name="gdk-pixbuf-The-GdkPixbuf-Structure"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="gdk-pixbuf-The-GdkPixbuf-Structure.top_of_page"></a>The GdkPixbuf Structure</span></h2>
<p>The GdkPixbuf Structure — Information that describes an image.</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<a name="gdk-pixbuf-The-GdkPixbuf-Structure.synopsis"></a><h2>Synopsis</h2>
<a name="GdkPixbuf"></a><pre class="synopsis">
#include &lt;gdk-pixbuf/gdk-pixbuf.h&gt;

enum                <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbufError" title="enum GdkPixbufError">GdkPixbufError</a>;
#define             <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GDK-PIXBUF-ERROR:CAPS" title="GDK_PIXBUF_ERROR">GDK_PIXBUF_ERROR</a>
enum                <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkColorspace" title="enum GdkColorspace">GdkColorspace</a>;
enum                <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbufAlphaMode" title="enum GdkPixbufAlphaMode">GdkPixbufAlphaMode</a>;
                    <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf-struct" title="GdkPixbuf">GdkPixbuf</a>;
<a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkColorspace" title="enum GdkColorspace"><span class="returnvalue">GdkColorspace</span></a>       <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#gdk-pixbuf-get-colorspace" title="gdk_pixbuf_get_colorspace ()">gdk_pixbuf_get_colorspace</a>           (<em class="parameter"><code>const <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf"><span class="type">GdkPixbuf</span></a> *pixbuf</code></em>);
<span class="returnvalue">int</span>                 <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#gdk-pixbuf-get-n-channels" title="gdk_pixbuf_get_n_channels ()">gdk_pixbuf_get_n_channels</a>           (<em class="parameter"><code>const <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf"><span class="type">GdkPixbuf</span></a> *pixbuf</code></em>);
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#gdk-pixbuf-get-has-alpha" title="gdk_pixbuf_get_has_alpha ()">gdk_pixbuf_get_has_alpha</a>            (<em class="parameter"><code>const <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf"><span class="type">GdkPixbuf</span></a> *pixbuf</code></em>);
<span class="returnvalue">int</span>                 <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#gdk-pixbuf-get-bits-per-sample" title="gdk_pixbuf_get_bits_per_sample ()">gdk_pixbuf_get_bits_per_sample</a>      (<em class="parameter"><code>const <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf"><span class="type">GdkPixbuf</span></a> *pixbuf</code></em>);
<a href="../glib/glib-Basic-Types.html#guchar"><span class="returnvalue">guchar</span></a> *            <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#gdk-pixbuf-get-pixels" title="gdk_pixbuf_get_pixels ()">gdk_pixbuf_get_pixels</a>               (<em class="parameter"><code>const <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf"><span class="type">GdkPixbuf</span></a> *pixbuf</code></em>);
<span class="returnvalue">int</span>                 <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#gdk-pixbuf-get-width" title="gdk_pixbuf_get_width ()">gdk_pixbuf_get_width</a>                (<em class="parameter"><code>const <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf"><span class="type">GdkPixbuf</span></a> *pixbuf</code></em>);
<span class="returnvalue">int</span>                 <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#gdk-pixbuf-get-height" title="gdk_pixbuf_get_height ()">gdk_pixbuf_get_height</a>               (<em class="parameter"><code>const <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf"><span class="type">GdkPixbuf</span></a> *pixbuf</code></em>);
<span class="returnvalue">int</span>                 <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#gdk-pixbuf-get-rowstride" title="gdk_pixbuf_get_rowstride ()">gdk_pixbuf_get_rowstride</a>            (<em class="parameter"><code>const <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf"><span class="type">GdkPixbuf</span></a> *pixbuf</code></em>);
const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#gdk-pixbuf-get-option" title="gdk_pixbuf_get_option ()">gdk_pixbuf_get_option</a>               (<em class="parameter"><code><a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf"><span class="type">GdkPixbuf</span></a> *pixbuf</code></em>,
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>);
</pre>
</div>
<div class="refsect1">
<a name="gdk-pixbuf-The-GdkPixbuf-Structure.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
  <a href="../gobject/gobject-The-Base-Object-Type.html#GObject">GObject</a>
   +----GdkPixbuf
</pre>
</div>
<div class="refsect1">
<a name="gdk-pixbuf-The-GdkPixbuf-Structure.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
<p>
GdkPixbuf implements
 <a href="../gio/GIcon.html">GIcon</a>.</p>
</div>
<div class="refsect1">
<a name="gdk-pixbuf-The-GdkPixbuf-Structure.properties"></a><h2>Properties</h2>
<pre class="synopsis">
  "<a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf--bits-per-sample" title='The "bits-per-sample" property'>bits-per-sample</a>"          <a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read / Write / Construct Only
  "<a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf--colorspace" title='The "colorspace" property'>colorspace</a>"               <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkColorspace" title="enum GdkColorspace"><span class="type">GdkColorspace</span></a>         : Read / Write / Construct Only
  "<a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf--has-alpha" title='The "has-alpha" property'>has-alpha</a>"                <a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write / Construct Only
  "<a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf--height" title='The "height" property'>height</a>"                   <a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read / Write / Construct Only
  "<a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf--n-channels" title='The "n-channels" property'>n-channels</a>"               <a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read / Write / Construct Only
  "<a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf--pixels" title='The "pixels" property'>pixels</a>"                   <a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>              : Read / Write / Construct Only
  "<a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf--rowstride" title='The "rowstride" property'>rowstride</a>"                <a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read / Write / Construct Only
  "<a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf--width" title='The "width" property'>width</a>"                    <a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read / Write / Construct Only
</pre>
</div>
<div class="refsect1">
<a name="gdk-pixbuf-The-GdkPixbuf-Structure.description"></a><h2>Description</h2>
<p>
The <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf"><span class="type">GdkPixbuf</span></a> structure contains
information that describes an image in memory.
</p>
<p>
</p>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="image-data"></a>Image Data</h2></div></div></div>
<p>
Image data in a pixbuf is stored in memory in uncompressed,
packed format.  Rows in the image are stored top to bottom, and
in each row pixels are stored from left to right.  There may be
padding at the end of a row.  The "rowstride" value of a pixbuf,
as returned by <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#gdk-pixbuf-get-rowstride" title="gdk_pixbuf_get_rowstride ()"><code class="function">gdk_pixbuf_get_rowstride()</code></a>, indicates the number
of bytes between rows.
</p>
<p>
</p>
<div class="example">
<a name="put-pixel"></a><p class="title"><b>Example 1. put_pixel() example</b></p>
<div class="example-contents">
<p>
</p>
<p>
The following code illustrates a simple put_pixel()
function for RGB pixbufs with 8 bits per channel with an alpha
channel.  It is not included in the gdk-pixbuf library for
performance reasons; rather than making several function calls
for each pixel, your own code can take shortcuts.
</p>
<p>
</p>
<pre class="programlisting">
static void
put_pixel (GdkPixbuf *pixbuf, int x, int y, guchar red, guchar green, guchar blue, guchar alpha)
{
  int width, height, rowstride, n_channels;
  guchar *pixels, *p;

  n_channels = gdk_pixbuf_get_n_channels (pixbuf);

  g_assert (gdk_pixbuf_get_colorspace (pixbuf) == GDK_COLORSPACE_RGB);
  g_assert (gdk_pixbuf_get_bits_per_sample (pixbuf) == 8);
  g_assert (gdk_pixbuf_get_has_alpha (pixbuf));
  g_assert (n_channels == 4);

  width = gdk_pixbuf_get_width (pixbuf);
  height = gdk_pixbuf_get_height (pixbuf);

  g_assert (x &gt;= 0 &amp;&amp; x &lt; width);
  g_assert (y &gt;= 0 &amp;&amp; y &lt; height);

  rowstride = gdk_pixbuf_get_rowstride (pixbuf);
  pixels = gdk_pixbuf_get_pixels (pixbuf);

  p = pixels + y * rowstride + x * n_channels;
  p[0] = red;
  p[1] = green;
  p[2] = blue;
  p[3] = alpha;
}
</pre>
<p>
</p>
<p>
This function will not work for pixbufs with images that are
other than 8 bits per sample or channel, but it will work for
most of the pixbufs that GTK+ uses.
</p>
</div>
</div>
<p><br class="example-break">
</p>
<p>
</p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
If you are doing <code class="function">memcpy()</code> of raw pixbuf data, note that the
last row in the pixbuf may not be as wide as the full
rowstride, but rather just as wide as the pixel data needs to
be.  That is, it is unsafe to do <code class="literal">memcpy (dest,
pixels, rowstride * height)</code> to copy a whole pixbuf.
Use <a class="link" href="gdk-pixbuf-%E5%86%85%E5%AD%98%E4%B8%AD%E7%9A%84%E5%9B%BE%E8%B1%A1%E6%95%B0%E6%8D%AE(Image-Data-in-Memory).html#gdk-pixbuf-copy" title="gdk_pixbuf_copy ()"><code class="function">gdk_pixbuf_copy()</code></a> instead, or compute the width in bytes
of the last row as <code class="literal">width * ((n_channels *
bits_per_sample + 7) / 8)</code>.
</div>
<p>
</p>
</div>
<p>
</p>
</div>
<div class="refsect1">
<a name="gdk-pixbuf-The-GdkPixbuf-Structure.details"></a><h2>Details</h2>
<div class="refsect2">
<a name="GdkPixbufError"></a><h3>enum GdkPixbufError</h3>
<pre class="programlisting">typedef enum {
        /* image data hosed */
        GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
        /* no mem to load image */
        GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY,
        /* bad option passed to save routine */
        GDK_PIXBUF_ERROR_BAD_OPTION,
        /* unsupported image type (sort of an ENOSYS) */
        GDK_PIXBUF_ERROR_UNKNOWN_TYPE,
        /* unsupported operation (load, save) for image type */
        GDK_PIXBUF_ERROR_UNSUPPORTED_OPERATION,
        GDK_PIXBUF_ERROR_FAILED
} GdkPixbufError;
</pre>
<p>
An error code in the <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GDK-PIXBUF-ERROR:CAPS" title="GDK_PIXBUF_ERROR"><span class="type">GDK_PIXBUF_ERROR</span></a> domain. Many &amp;gdk-pixbuf;
operations can cause errors in this domain, or in the <a href="../glib/glib-File-Utilities.html#G-FILE-ERROR:CAPS"><span class="type">G_FILE_ERROR</span></a>
domain.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><a name="GDK-PIXBUF-ERROR-CORRUPT-IMAGE:CAPS"></a><span class="term"><code class="literal">GDK_PIXBUF_ERROR_CORRUPT_IMAGE</code></span></p></td>
<td>An image file was broken somehow.
</td>
</tr>
<tr>
<td><p><a name="GDK-PIXBUF-ERROR-INSUFFICIENT-MEMORY:CAPS"></a><span class="term"><code class="literal">GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY</code></span></p></td>
<td>Not enough memory.
</td>
</tr>
<tr>
<td><p><a name="GDK-PIXBUF-ERROR-BAD-OPTION:CAPS"></a><span class="term"><code class="literal">GDK_PIXBUF_ERROR_BAD_OPTION</code></span></p></td>
<td>A bad option was passed to a pixbuf save module.
</td>
</tr>
<tr>
<td><p><a name="GDK-PIXBUF-ERROR-UNKNOWN-TYPE:CAPS"></a><span class="term"><code class="literal">GDK_PIXBUF_ERROR_UNKNOWN_TYPE</code></span></p></td>
<td>Unknown image type.
</td>
</tr>
<tr>
<td><p><a name="GDK-PIXBUF-ERROR-UNSUPPORTED-OPERATION:CAPS"></a><span class="term"><code class="literal">GDK_PIXBUF_ERROR_UNSUPPORTED_OPERATION</code></span></p></td>
<td>Don't know how to perform the
 given operation on the type of image at hand.
</td>
</tr>
<tr>
<td><p><a name="GDK-PIXBUF-ERROR-FAILED:CAPS"></a><span class="term"><code class="literal">GDK_PIXBUF_ERROR_FAILED</code></span></p></td>
<td>Generic failure code, something went wrong.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GDK-PIXBUF-ERROR:CAPS"></a><h3>GDK_PIXBUF_ERROR</h3>
<pre class="programlisting">#define GDK_PIXBUF_ERROR gdk_pixbuf_error_quark ()
</pre>
<p>
Error domain used for pixbuf operations. Indicates that the error code
will be in the <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbufError" title="enum GdkPixbufError"><span class="type">GdkPixbufError</span></a> enumeration. See <a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for
information on error domains and error codes.
</p>
</div>
<hr>
<div class="refsect2">
<a name="GdkColorspace"></a><h3>enum GdkColorspace</h3>
<pre class="programlisting">typedef enum {
	GDK_COLORSPACE_RGB
} GdkColorspace;
</pre>
<p>
This enumeration defines the color spaces that are supported by
the &amp;gdk-pixbuf; library.  Currently only RGB is supported.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><a name="GDK-COLORSPACE-RGB:CAPS"></a><span class="term"><code class="literal">GDK_COLORSPACE_RGB</code></span></p></td>
<td>Indicates a red/green/blue additive color space.
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GdkPixbufAlphaMode"></a><h3>enum GdkPixbufAlphaMode</h3>
<pre class="programlisting">typedef enum
{
        GDK_PIXBUF_ALPHA_BILEVEL,
        GDK_PIXBUF_ALPHA_FULL
} GdkPixbufAlphaMode;
</pre>
<p>
These values can be passed to
<code class="function">gdk_pixbuf_render_to_drawable_alpha()</code> to control how the alpha
channel of an image should be handled.  This function can create a
bilevel clipping mask (black and white) and use it while painting
the image.  In the future, when the X Window System gets an alpha
channel extension, it will be possible to do full alpha
compositing onto arbitrary drawables.  For now both cases fall
back to a bilevel clipping mask.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><a name="GDK-PIXBUF-ALPHA-BILEVEL:CAPS"></a><span class="term"><code class="literal">GDK_PIXBUF_ALPHA_BILEVEL</code></span></p></td>
<td>A bilevel clipping mask (black and white)
 will be created and used to draw the image.  Pixels below 0.5 opacity
 will be considered fully transparent, and all others will be
 considered fully opaque.
</td>
</tr>
<tr>
<td><p><a name="GDK-PIXBUF-ALPHA-FULL:CAPS"></a><span class="term"><code class="literal">GDK_PIXBUF_ALPHA_FULL</code></span></p></td>
<td>For now falls back to <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GDK-PIXBUF-ALPHA-BILEVEL:CAPS"><span class="type">GDK_PIXBUF_ALPHA_BILEVEL</span></a>.
 In the future it will do full alpha compositing.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GdkPixbuf-struct"></a><h3>GdkPixbuf</h3>
<pre class="programlisting">typedef struct _GdkPixbuf GdkPixbuf;</pre>
<p>
This is the main structure in the &amp;gdk-pixbuf; library.  It is
used to represent images.  It contains information about the
image's pixel data, its color space, bits per sample, width and
height, and the rowstride (the number of bytes between the start of
one row and the start of the next).
</p>
</div>
<hr>
<div class="refsect2">
<a name="gdk-pixbuf-get-colorspace"></a><h3>gdk_pixbuf_get_colorspace ()</h3>
<pre class="programlisting"><a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkColorspace" title="enum GdkColorspace"><span class="returnvalue">GdkColorspace</span></a>       gdk_pixbuf_get_colorspace           (<em class="parameter"><code>const <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf"><span class="type">GdkPixbuf</span></a> *pixbuf</code></em>);</pre>
<p>
获取 pixbuf 的色域
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pixbuf</code></em> :</span></p></td>
<td>一个 pixbuf.</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>色域</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gdk-pixbuf-get-n-channels"></a><h3>gdk_pixbuf_get_n_channels ()</h3>
<pre class="programlisting"><span class="returnvalue">int</span>                 gdk_pixbuf_get_n_channels           (<em class="parameter"><code>const <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf"><span class="type">GdkPixbuf</span></a> *pixbuf</code></em>);</pre>
<p>
查询pixbuf 的通道数.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pixbuf</code></em> :</span></p></td>
<td>一个 pixbuf.</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>通道数.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gdk-pixbuf-get-has-alpha"></a><h3>gdk_pixbuf_get_has_alpha ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gdk_pixbuf_get_has_alpha            (<em class="parameter"><code>const <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf"><span class="type">GdkPixbuf</span></a> *pixbuf</code></em>);</pre>
<p>
查询 pixbuf 是否有 alpha 通道（不透明信息）
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pixbuf</code></em> :</span></p></td>
<td>一个 pixbuf.</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>含有 alpha 通道时返回 <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>，否则返回 <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>。</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gdk-pixbuf-get-bits-per-sample"></a><h3>gdk_pixbuf_get_bits_per_sample ()</h3>
<pre class="programlisting"><span class="returnvalue">int</span>                 gdk_pixbuf_get_bits_per_sample      (<em class="parameter"><code>const <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf"><span class="type">GdkPixbuf</span></a> *pixbuf</code></em>);</pre>
<p>
查询 pixbuf 的文件样本位数.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pixbuf</code></em> :</span></p></td>
<td>一个 pixbuf.</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>每个颜色样本的位数。</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gdk-pixbuf-get-pixels"></a><h3>gdk_pixbuf_get_pixels ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#guchar"><span class="returnvalue">guchar</span></a> *            gdk_pixbuf_get_pixels               (<em class="parameter"><code>const <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf"><span class="type">GdkPixbuf</span></a> *pixbuf</code></em>);</pre>
<p>
查询一个指向一个 pixbuf 的一个像素数据的指针。
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pixbuf</code></em> :</span></p></td>
<td>一个 pixbuf.</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>一个指向这个 pixbuf 的像素数据的指针。参见 <a class="xref" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#image-data" title="Image Data">the section called “Image Data”</a> 了解像素数据在内存中储存的详细信息。</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gdk-pixbuf-get-width"></a><h3>gdk_pixbuf_get_width ()</h3>
<pre class="programlisting"><span class="returnvalue">int</span>                 gdk_pixbuf_get_width                (<em class="parameter"><code>const <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf"><span class="type">GdkPixbuf</span></a> *pixbuf</code></em>);</pre>
<p>
查询 pixbuf 的宽度
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pixbuf</code></em> :</span></p></td>
<td>一个 pixbuf.</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>像素宽度</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gdk-pixbuf-get-height"></a><h3>gdk_pixbuf_get_height ()</h3>
<pre class="programlisting"><span class="returnvalue">int</span>                 gdk_pixbuf_get_height               (<em class="parameter"><code>const <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf"><span class="type">GdkPixbuf</span></a> *pixbuf</code></em>);</pre>
<p>
查询 pixbuf 的高度
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pixbuf</code></em> :</span></p></td>
<td>一个 pixbuf.</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>像素高度</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gdk-pixbuf-get-rowstride"></a><h3>gdk_pixbuf_get_rowstride ()</h3>
<pre class="programlisting"><span class="returnvalue">int</span>                 gdk_pixbuf_get_rowstride            (<em class="parameter"><code>const <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf"><span class="type">GdkPixbuf</span></a> *pixbuf</code></em>);</pre>
<p>
查询一个 pixbuf 的 rowstride，即一行开始到下一行开始的字节数。
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pixbuf</code></em> :</span></p></td>
<td>一个 pixbuf.</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>行首之间的距离。</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gdk-pixbuf-get-option"></a><h3>gdk_pixbuf_get_option ()</h3>
<pre class="programlisting">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       gdk_pixbuf_get_option               (<em class="parameter"><code><a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf"><span class="type">GdkPixbuf</span></a> *pixbuf</code></em>,
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>);</pre>
<p>
Looks up <em class="parameter"><code>key</code></em> in the list of options that may have been attached to the
<em class="parameter"><code>pixbuf</code></em> when it was loaded, or that may have been attached by another
function using <a class="link" href="gdk-pixbuf-Module-Interface.html#gdk-pixbuf-set-option" title="gdk_pixbuf_set_option ()"><code class="function">gdk_pixbuf_set_option()</code></a>.
</p>
<p>
For instance, the ANI loader provides "Title" and "Artist" options. 
The ICO, XBM, and XPM loaders provide "x_hot" and "y_hot" hot-spot 
options for cursor definitions. The PNG loader provides the tEXt ancillary
chunk key/value pairs as options. Since 2.12, the TIFF and JPEG loaders
return an "orientation" option string that corresponds to the embedded 
TIFF/Exif orientation tag (if present).
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>pixbuf</code></em> :</span></p></td>
<td>a <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf"><span class="type">GdkPixbuf</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
<td>非结束字符串</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<em class="parameter"><code>key</code></em> 对应的值。是一个无需释放的以空值结尾的字符串，当无法找到
<em class="parameter"><code>key</code></em> 键时返回 <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>。</td>
</tr>
</tbody>
</table></div>
</div>
</div>
<div class="refsect1">
<a name="gdk-pixbuf-The-GdkPixbuf-Structure.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="GdkPixbuf--bits-per-sample"></a><h3>The <code class="literal">"bits-per-sample"</code> property</h3>
<pre class="programlisting">  "bits-per-sample"          <a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read / Write / Construct Only</pre>
<p>
文件样本位数。现在只能支持 8 位的文件样本位数.
</p>
<p>Allowed values: [1,16]</p>
<p>Default value: 8</p>
</div>
<hr>
<div class="refsect2">
<a name="GdkPixbuf--colorspace"></a><h3>The <code class="literal">"colorspace"</code> property</h3>
<pre class="programlisting">  "colorspace"               <a class="link" href="gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkColorspace" title="enum GdkColorspace"><span class="type">GdkColorspace</span></a>         : Read / Write / Construct Only</pre>
<p>The colorspace in which the samples are interpreted.</p>
<p>Default value: GDK_COLORSPACE_RGB</p>
</div>
<hr>
<div class="refsect2">
<a name="GdkPixbuf--has-alpha"></a><h3>The <code class="literal">"has-alpha"</code> property</h3>
<pre class="programlisting">  "has-alpha"                <a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write / Construct Only</pre>
<p>Whether the pixbuf has an alpha channel.</p>
<p>Default value: FALSE</p>
</div>
<hr>
<div class="refsect2">
<a name="GdkPixbuf--height"></a><h3>The <code class="literal">"height"</code> property</h3>
<pre class="programlisting">  "height"                   <a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read / Write / Construct Only</pre>
<p>The number of rows of the pixbuf.</p>
<p>Allowed values: &gt;= 1</p>
<p>Default value: 1</p>
</div>
<hr>
<div class="refsect2">
<a name="GdkPixbuf--n-channels"></a><h3>The <code class="literal">"n-channels"</code> property</h3>
<pre class="programlisting">  "n-channels"               <a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read / Write / Construct Only</pre>
<p>
一个像素的样本数(samples)。当前，只支持3或者4样本每像素(samples per pixel)。
</p>
<p>Allowed values: &gt;= 0</p>
<p>Default value: 3</p>
</div>
<hr>
<div class="refsect2">
<a name="GdkPixbuf--pixels"></a><h3>The <code class="literal">"pixels"</code> property</h3>
<pre class="programlisting">  "pixels"                   <a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>              : Read / Write / Construct Only</pre>
<p>A pointer to the pixel data of the pixbuf.</p>
</div>
<hr>
<div class="refsect2">
<a name="GdkPixbuf--rowstride"></a><h3>The <code class="literal">"rowstride"</code> property</h3>
<pre class="programlisting">  "rowstride"                <a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read / Write / Construct Only</pre>
<p>
一行的开始到下一行开始的字节数。该数值(显然)至少要比每行的像素数大。
</p>
<p>Allowed values: &gt;= 1</p>
<p>Default value: 1</p>
</div>
<hr>
<div class="refsect2">
<a name="GdkPixbuf--width"></a><h3>The <code class="literal">"width"</code> property</h3>
<pre class="programlisting">  "width"                    <a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read / Write / Construct Only</pre>
<p>The number of columns of the pixbuf.</p>
<p>Allowed values: &gt;= 1</p>
<p>Default value: 1</p>
</div>
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.17</div>
</body>
</html>